//此js文件是用来自定义扩展业务代码，可以扩展一些自定义页面或者重新配置生成的代码
import modelBody from './MaterialRequisitionBody.vue'
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: modelBody,
    modelFooter: ''
  },
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: [], //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {  //框架初始化配置前，
      //示例：在按钮的最前面添加一个按钮
      const that = this;
      this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
        name: '生成清单', //按钮名称
        icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon，vue3版本见element ui文档icon(注意不是element puls文档)
        type: 'primary', //按钮样式vue2版本见iview文档button，vue3版本见element ui文档button
        onClick: function () {
          var rows = this.$refs.table.getSelected();
          if (!rows || rows.length == 0) {
            return this.$error('请选择要编辑的行!');
          }
          let list = [];
          rows.forEach(item => {
            list.push(item.Id);
          });
          this.http.post(`/api/MaterialRequisition/CreateStoresRequisition`, list, '正在调用后台数据').then(rep => {
            if (rep.status) {
              this.$message.info(rep.message);
            }
            else
              this.$message.error(rep.message);
            that.refresh();
          })
        }
      });

      //示例：设置修改新建、编辑弹出框字段标签的长度
      // this.boxOptions.labelWidth = 150; 
      //扩展展开查询模块
      //this.setFiexdSearchForm(true);
    },
    onInited() {
      //自定义弹出框的高与宽
      this.boxOptions.height = document.body.clientHeight * 0.9;
      this.boxOptions.width = document.body.clientWidth * 0.8;
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false，则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后，result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象，包括明细表，可以给给表单设置值，自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象，包括明细表、删除行的Id
      formData.detailData = this.$refs.modelBody.data;
      formData.currentDetailData = this.$refs.modelBody.currentData;
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      this.$nextTick(() => {
        //这里没有给弹出框中的表格传参，如果需要参数可以通过 this.$emit("parentCall", 获取页面的参数
        //具体见自定义页面App_ReportPriceModelBody.vue中的modelOpen方法的使用 this.$emit("parentCall", ($this) => {
        this.$refs.modelBody.modelOpen();
      })
    }
  }
};
export default extension;
